<?php
    /*
    * Copyright (c) 2007, Osuvaldo Ramos
    * 
    * All rights reserved.
    * 
    * Redistribution and use in source and binary forms, with or without
    * modification, are permitted provided that the following conditions are
    * met:
    *
    *    * Redistributions of source code must retain the above copyright
    *      notice, this list of conditions and the following disclaimer.
    *    * Redistributions in binary form must reproduce the above copyright
    *      notice, this list of conditions and the following disclaimer in the
    *      documentation and/or other materials provided with the distribution.
    *    * Neither the name of the CoreTech nor the names of its
    *      contributors may be used to endorse or promote products derived from
    *      this software without specific prior written permission.
    * 
    * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
    * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
    * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
    * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
    * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
    * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
    * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
    * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    * 
    * $Id: functions.php 2 2008-01-21 02:48:28Z xdracox $
    */
    
    /* functions.php: an old relic of the NetTek scripts =] */
    
    if ( !defined('BNETCS') || !defined('ROOT') ) exit();
    require_once ROOT.'/mods/SideBar/'.$CONF['mods']['sidebar']['name'].'.php';
    
    // salts a pass for use with the Auth class
    function salt_password($pass, $salt1, $salt2)
    {
        // basically, its salted like so:
        // md5(salt2 + pass) + pass + md5(salt1+pass)
        // then Auth proceeds to md5 that value
        return md5($salt2.$pass).$pass.md5($salt1.$pass);
    }
    
    function generate_password()
    {
        $len = 6;
        $charset = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
        
        $pw = '';
        
        for ( $i = 0; $i < $len; ++$i )
        {
            $pw .= $charset[mt_rand(0, strlen($charset))];
        }
        
        return $pw;
    }
    
    function display_header()
    {
        global $smarty, $CONF;
        $smarty->display('header.tpl');
        
        $sb = new SideBar();
        $sb->display();
    }
    
    function display_footer()
    {
        global $smarty;
        $smarty->display('footer.tpl');
    }
    
    function valid_member_name($name)
    {
        // a name cannot contain any kind of quote
        return !preg_match('/["\']/', $name);
    }
?>
